CFLAGS += -g

armemu: main.o cpu.o dispatch.o
	$(CC) -pthread -o $@ $^ -lcapstone

dispatch.c: ../gen_dispatcher.py ../encoding-cond ../encoding-uncond
	python $< -o $@ ../encoding-cond ../encoding-uncond

armemu.vpi: vpi.o cpu-pic.o dispatch-pic.o
	$(CC) -shared -o $@ $^ -lvpi -lcapstone

vpi.o: vpi.c cpu.h
	$(CC) $(CFLAGS) -c -fpic -I/usr/include/iverilog $<

cpu.o: cpu.c cpu.h

cpu-pic.o: cpu.c cpu.h
	$(CC) $(CFLAGS) -c -fpic -o $@ $<

dispatch-pic.o: dispatch.c
	$(CC) $(CFLAGS) -c -fpic -o $@ $<

clean:
	rm -f armemu armemu.vpi *.o

.PHONY: all clean
